package com.deft.design.combination.service.engine;

import com.deft.design.combination.model.aggregates.TreeRich;
import com.deft.design.combination.model.vo.EngineResult;

import java.util.Map;

/**
 * 决策引擎接口定义
 * @author Hide丶love
 * @date 2022/04/27
 **/
public interface IEngine {

    /**
     * 统一决策接口
     * @param treeId 规则树ID
     * @param userId 用户ID
     * @param treeRich 聚合对象
     * @param decisionMatter 决策物料
     * @return 决策信息
     */
    EngineResult process(final Long treeId, final String userId, TreeRich treeRich, final Map<String, String> decisionMatter);
}
